This invention relates generally to the multiplexing, encoding and transmission of data. More particularly, the invention concerns the transmission of data originating from a plurality of sources. These can be multi-media sources.
Examples of single media services are speech and data. For such single media services, forward error correction (henceforth FEC) schemes are used, and are developed on a case by case basis. FEC uses redundancy to allow the receiver of a corrupted digital signal to determine the actual signal sent. FEC thus mitigates against data corruption arising due to error prone transmission paths.
In the case of speech, the development of an FEC scheme usually involves creating a different FEC scheme for each and every system, taking into account the different impact of bit-errors during transmission on different parameters of the bit stream. This means that in order to introduce a new speech codec into a system, it is almost always necessary to redesign the FEC too.
In designing an FEC scheme for a particular type of media transmission e.g. speech or video, it is desirable to employ some type of joint source/channel or unequal protection coding technique to allow greater protection for the more important segments of the data stream, whilst some of the bits may not receive any FEC protection at all.
Such differing requirements on the FEC protection of certain parameters or bits are a known characteristic of low bit-rate source coders for a single source, i.e. which act on one particular type of media transmission. For example in the context of video coding, an error in the motion vectors would cause a greater perceived degradation than an error in the DCT (Discrete Cosine Transform) coefficients. This requirement implies that the FEC is applied with detailed knowledge of the source coding algorithm.
Current mobile system FEC schemes for single services, e.g. speech, almost invariably make use of Rate Compatible Punctured Convolutional (henceforth RCPC) Coding in order to provide differential error protection for the different bits of the coder bit stream. See for example the prior art publication Hagenauer, xe2x80x9cRate-Compatible Punctured Convolutional Codes (RCPC Codes) and their Applicationsxe2x80x9d, IEEE Trans Comms, Vol. COM-36, No. 4, April 1988. However, in such single service applications, the number of bits protected is usually fixed, as are the positions in the FEC frames of the different parameters. Alternatively, in the case of variable bit-rate sources, the encoding rules are selected from a limited number of possibilities.
Further considering mobile systems, the current approach to designing FEC schemes for these systems is to develop them for single services, i.e. speech only. Although the performance of such FEC schemes is near optimal for such single services, adopting a similar approach to multi-media would lead to a potential mismatch in the error performance of the different services and potentially a waste of channel resource.
In a multi-media environment it is usually necessary to multiplex bit streams from multiple sources, such as video, audio and data, into a single bit stream. There are a number of standards that define methods of achieving this, such as ITU-T Recommendation H.223 xe2x80x9cLine Transmission of Non-Telephone Signalsxe2x80x94Multiplexing protocol for Low Bit Rate Multimedia Communicationxe2x80x9d.
Conventional designs for multi-media services make use of different FEC schemes for each of the individual services, which are then multiplexed. Additional error protection is then required in order to protect the multiplexing information. This is a complex and inflexible arrangement.
With such a design philosophy, it is also very difficult to ensure that the services have similar quality vs channel bit error rate (BER) profiles, particularly if new service components, e.g. a new speech codec, are added. Hence, it is likely that the relative robustness of the multiple service components will be different leading to degradations in quality of those components occurring at different rates and at different locations in the coverage area. In practical terms a mobile user located for instance at the edge of a coverage area or in a geographical depression might suffer excessive degradation of some of the multi-media services which it receives before others. This is clearly undesirable, particularly if one of the more important of the service components in a particular application, such as text or pictures, degrades faster than another of lesser importance, such as sound.
In multi-media data transmission, and particularly for future mobile systems, it seems likely that service providers and network operators will wish to introduce new services quickly and easily. In a multi-media context this may involve putting together different audio, speech and video codecs in order to fulfill particular market niches. Such niches are also likely to demand very different requirements in terms of quality for the different components of the multi-media service.
Published European Patent Application EP-A-0171596 provides a signal-concentrator arrangement. A plurality of user channels are concentrated onto a common communication channel. To do this, information from each user channel is buffered, prioritised and transferred to the common communication channel based on this prioritisation. The priority assigned to the information depends its type, e.g. data has a higher priority than voice packets. In order to maintain the delay associated with normal speech, some voice packets from a particular source may be given a different priority than other voice packets from a different source.
Published U.S. Pat. No. 5,280,479 shows a multiplexing device for the insertion of digital packets, supplied by several different sources, into the same transmission channel. Each source generates an insertion priority order for each packet as a function of the type of packet. A particular source may have a different priority to other, similar sources, for example based on the number of packets which it is storing awaiting transmission.
According to the invention, a method of preparing data from multiple sources for transmission comprises: multiplexing data from a plurality of sources, the multiplexing comprising, for at least one source, classifying the data from the source into two or more classes according to the data""s priority, and mapping data from the sources into positions in a data structure according both to the class of the data and to a further priority assigned to the source from which the data originated; and sub-dividing the data in the data structure into frames whilst preserving the relative prioritisation of the data.
Where the data from a second or further sources is classified into multiple classes, these classes are not necessarily identical to those used for the first said source, i.e. the particular classes used are specific to the source concerned.
A method of encoding data for transmission incorporating this method of preparing data is also provided. The method of encoding data for transmission comprises preparing data from a plurality of sources in accordance with the method of preparing given above, and performing forward error correction (FEC) encoding on the data frames whilst preserving the relative prioritisation of the data.
The division of data into classes and/or the prioritisation of the sources can be done according respectively to the importance of the data and the importance of the source to the data""s recipient(s).
Alternatively, the division of data into classes and/or the prioritisation of the sources can be done according to the potential impact of transmission errors on the data.
A method of decoding and de-multiplexing data is also provided.
The method of decoding and de-multiplexing data which has been encoded in accordance with the method of encoding given above involves the data firstly being decoded into frames, then the data frames being re-constituted into a data structure, and finally the data being de-multiplexed back to the format of the sources from which it originated.
The invention also encompasses apparatus adapted to perform any of the methods given above.
The invention facilitates data transmission to or from a multimedia terminal, which may be mobile. The processing of the data for this transmission involves multiplexing the data whilst taking into account the two priorities described above, dividing the data structure thus created into frames, and finally encoding the data, preferably using an RCPC forward error correction scheme.
The invention provides several advantages. Principally the system allows a wide choice of input sources and codecs, without requiring a major re-design of the system when a new codec is added or one omitted. Thus codecs can be treated simply as xe2x80x9cmodularxe2x80x9d blocks.
For the encoding of data prior to transmission, since a single FEC encoder and decoder design is used for all services and all logical channels, it is simpler to add new codecs and new service options without the need to redesign the FEC protection of either the existing codecs or the new codec in order to balance performance.
This invention provides flexibility to change the FEC rate for each logical channel, i.e. source, of a multi-media call, allowing the FEC protection trade-off between the different services of a multi-media transmission to be modified. This can even take place during the call(s). Both the relative priorities of the sources and the priorities of the different classes of data from each particular source can be chosen at will.